package cate.common.table.d;

import cate.common.table.common.ParamSheet;
import easy.java.dev.note.NoteField;
import easy.java.time.DateTool;

public class GDGradePvp {
    @NoteField(value = "大神风采最大条数")
    public static int GOD_RECORD_NUM_MAX;

    @NoteField(value = "玩家录像条数上限")
    public static int MASTER_RECORD_NUM_MAX;

    @NoteField(value = "【全服段位赛】挑战失败不扣星级上限")
    public static int KEEP_STAR_MAX;

    @NoteField(value = "【全服段位赛】缓冲积分上限")
    public static int BUFFER_SCORE_MAX;

    @NoteField(value = "【全服段位赛】开启时间")
    public static long START_TIME;

    @NoteField(value = "【全服段位赛】大神风采星级下限")
    public static long GOD_GRADE_STAR_MIN;

    @NoteField(value = "【全服段位赛】段位结算奖励邮件ID")
    public static int SETTLE_REWARD_MAIL_ID;

    @NoteField(value = "【全服段位赛】天极榜奖励邮件ID")
    public static int GOD_REWARD_MAIL_ID;

    @NoteField(value = "【全服段位赛】抵扣掉星的缓冲积分数")
    public static int BUFFER_SCORE_PREVENT;

    @NoteField(value = "【全服段位赛】奖励个数")
    public static int COMMON_REWARD_NUM;

    @NoteField(value = "战绩类型-当前赛季")
    public static final int MARK_TYPE_PRESENT = 1;

    @NoteField(value = "战绩类型-总赛季")
    public static final int MARK_TYPE_TOTAL = 2;

    public static int WIN_GRADE_SCORE;
    public static int LOSE_GRADE_SCORE;
    public static int SERIAL_WIN_GRADE_SCORE;
    public static int SERIAL_LOSE_GRADE_SCORE;
    public static int MAX_WIN_GRADE_SCORE;
    public static int MAX_LOSE_GRADE_SCORE;
    public static int MAX_SERIAL_LOSE_TIMES;

    @NoteField(value = "【跨服段位赛】上半赛季开始时间（毫秒）")
    public static long FIRST_HALF_START_TIME = 0L;
    @NoteField(value = "【跨服段位赛】上半赛季结束时间（毫秒）")
    public static long FIRST_HALF_END_TIME = 1206600000L;
    @NoteField(value = "【跨服段位赛】上半赛季结算开始时间（毫秒）")
    public static long FIRST_HALF_SETTLE_START_TIME = 1206600001L;
    @NoteField(value = "【跨服段位赛】上半赛季结算结束时间（毫秒）")
    public static long FIRST_HALF_SETTLE_END_TIME = 1209600000L;
    @NoteField(value = "【跨服段位赛】下半赛季开始时间（毫秒）")
    public static long SECOND_HALF_START_TIME = 1209600001L;
    @NoteField(value = "【跨服段位赛】下半赛季结束时间（毫秒）")
    public static long SECOND_HALF_END_TIME = 2416200000L;
    @NoteField(value = "【跨服段位赛】下半赛季结算开始时间（毫秒）")
    public static long SECOND_HALF_SETTLE_START_TIME = 2416200001L;
    @NoteField(value = "【跨服段位赛】下半赛季结算结束时间（毫秒）")
    public static long SECOND_HALF_SETTLE_END_TIME = 2419200000L;

    public static void initialize(ParamSheet paramSheet) {
        String startStr = GDParamTool.getString(paramSheet,650,"2023-07-31 00:00:00");
        try {
            START_TIME = DateTool.instance().parse(startStr).getTime();
        } catch (Exception e) {
            e.printStackTrace();
        }
        GOD_RECORD_NUM_MAX = GDParamTool.getInt(paramSheet, 651, 50);
        MASTER_RECORD_NUM_MAX = GDParamTool.getInt(paramSheet, 652, 30);
        KEEP_STAR_MAX = GDParamTool.getInt(paramSheet, 653, 9);
        BUFFER_SCORE_MAX = GDParamTool.getInt(paramSheet, 654, 1200);
        GOD_GRADE_STAR_MIN = GDParamTool.getInt(paramSheet, 655, 48);
        SETTLE_REWARD_MAIL_ID = GDParamTool.getInt(paramSheet, 656, 100166);
        GOD_REWARD_MAIL_ID = GDParamTool.getInt(paramSheet, 657, 100167);
        BUFFER_SCORE_PREVENT = GDParamTool.getInt(paramSheet, 658,200);
        COMMON_REWARD_NUM = GDParamTool.getInt(paramSheet, 659, 1);
        WIN_GRADE_SCORE = GDParamTool.getInt(paramSheet,660,50);
        LOSE_GRADE_SCORE = GDParamTool.getInt(paramSheet, 661, 20);
        SERIAL_WIN_GRADE_SCORE = GDParamTool.getInt(paramSheet,662,1);
        SERIAL_LOSE_GRADE_SCORE = GDParamTool.getInt(paramSheet,663,1);
        MAX_WIN_GRADE_SCORE = GDParamTool.getInt(paramSheet, 664, 55);
        MAX_LOSE_GRADE_SCORE = GDParamTool.getInt(paramSheet,665,15);
        MAX_SERIAL_LOSE_TIMES = GDParamTool.getInt(paramSheet, 666,6);
    }
}
